package com.wande.dataplatform.service;

import com.wande.common.mybatis.core.page.PageQuery;
import com.wande.common.mybatis.core.page.TableDataInfo;
import com.wande.dataplatform.domain.bo.CleanTaskBo;
import com.wande.dataplatform.domain.dto.CleanResultDTO;
import com.wande.dataplatform.domain.vo.CleanTaskVo;

import java.util.List;

/**
 * 数据清洗任务服务接口
 *
 * @author wande
 */
public interface ICleanTaskService {

    /**
     * 查询清洗任务列表
     */
    TableDataInfo<CleanTaskVo> queryPageList(CleanTaskBo bo, PageQuery pageQuery);

    /**
     * 查询清洗任务列表
     */
    List<CleanTaskVo> queryList(CleanTaskBo bo);

    /**
     * 根据ID查询清洗任务
     */
    CleanTaskVo queryById(Long id);

    /**
     * 新增清洗任务
     */
    Long insertByBo(CleanTaskBo bo);

    /**
     * 修改清洗任务
     */
    Boolean updateByBo(CleanTaskBo bo);

    /**
     * 批量删除清洗任务
     */
    Boolean deleteByIds(List<Long> ids);

    /**
     * 执行清洗任务
     */
    CleanResultDTO executeClean(Long taskId);

    /**
     * 回滚清洗任务
     */
    Boolean rollbackClean(Long taskId);
}
